package com.test.xml.mapper;

import com.test.xml.domain.SysUser;
import com.test.xml.domain.SysUserExtend;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {
    /*单表查询*/
    SysUser selectById(Long id);
    List<SysUser> selectAll();

    /*多参数查询
      给参数配置@Param注解后，Mybatis就会自动将参数封装成Map类型，@param会作为Map中的key，因此sql就可以通过配置的注解值来使用参数。
    * */
    SysUser findUserByIdAndUsername(@Param("id") Long id, @Param("user_name") String user_name);

    /*连表查询*/
    List<SysUserExtend> selectUserRole1(Long id);
    List<SysUser> selectUserRole2(Long id);

    /*添加数据*/
    int addUser(SysUser sysUser);
    int addUserGetId1(SysUser sysUser);
    int addUserGetId2(SysUser sysUser);

    /*更新数据*/
    int updateUserById(SysUser sysUser);

    /*删除*/
    int deleteUserById(Long id);
}
